package com.adil.base.collections.list;

import java.util.Vector;

/**
 * @description: TODO
 * @author: Adil
 * @date: 2024/4/24
 */
public class VectorDemo {
    public static void main(String[] args) {
        //Vector 是 List 接口的实现类，它是线程安全的，可以用于多线程环境下的数据共享。
        //Vector 实现了动态数组，可以自动扩容，所以在添加元素时，Vector 并不会产生数组越界异常。
        //Vector 扩容方式：当 Vector 的容量不足以容纳新添加的元素时，Vector 会创建一个新的数组，容量为原容量的 1.5 倍，然后将原数组中的元素复制到新数组中，最后将 Vector 的引用指向新数组。
        //Vector 实现了 Collection 接口，所以它是 List 接口的子接口。
        //Vector 实现了 Enumeration 接口，所以可以通过 Enumeration 遍历 Vector。
        //Vector 实现了 Cloneable 接口，所以可以通过 clone() 方法克隆 Vector。
        //Vector 实现了 Serializable 接口，所以可以通过序列化的方式保存 Vector。
        //Vector 实现了 RandomAccess 接口，所以可以通过索引快速访问元素。
        //Vector 实现了 AbstractList 类，所以它是 List 接口的抽象实现类。
        //Vector 实现了 List 接口，所以它是 Collection 接口的子接口。
        //Vector 实现了 Collection 接口，所以它是 Set 接口的子接口。
        //Vector 实现了 ListIterator 接口，所以它是 Iterator 接口的子接口。
        //Vector 实现了 Deque 接口，所以它是双端队列。
        //Vector 实现了 Stack 接口，所以它是栈。
        //Vector 实现了 Cloneable 接口，所以它是可克隆的。
        //Vector 实现了 Serializable 接口，所以它是可序列化的。
        //Vector 实现了 RandomAccess 接口，所以它支持快速随机访问。

        //Vector 实现了 AbstractCollection 类，所以它是 Collection 接口的抽象实现类。
        //Vector 实现了 Collection 接口，所以它是 List 接口的子接口。
        //Vector 实现了 List 接口，所以它是 Collection 接口的子接口。
        //Vector 实现了 RandomAccess 接口，所以它支持快速随机访问。
        //Vector 实现了 Cloneable 接口，所以它是可克隆的。
        //Vector 实现了 Serializable 接口，所以它是可序列化的。

        //Vector 构造方法：
        //Vector()：创建一个空的 Vector。
        //Vector(int initialCapacity)：创建一个初始容量为 initialCapacity 的空的 Vector。
        //Vector(Collection<? extends E> c)：创建一个包含指定 Collection 的元素的 Vector。
        //Vector 常用方法：
        //boolean add(E e)：向 Vector 末尾添加一个元素。
        //void add(int index, E element)：在指定位置 index 处插入一个元素。
        //void addAll(Collection<? extends E> c)：向 Vector 末尾添加指定 Collection 的所有元素。
        //void addAll(int index, Collection<? extends E> c)：在指定位置 index 处插入指定 Collection 的所有元素。
        //void clear()：清空 Vector。
        //Object clone()：返回 Vector 的克隆。
        //boolean contains(Object o)：判断 Vector 是否包含指定元素。
        //void ensureCapacity(int minCapacity)：确保 Vector 的容量至少为 minCapacity。
        //E get(int index)：获取指定位置 index 的元素。
        //int indexOf(Object o)：返回指定元素在 Vector 中的索引。
        //int lastIndexOf(Object o)：返回指定元素在 Vector 中的最后一个索引。
        //ListIterator<E> listIterator()：返回 Vector 的 ListIterator。
        //ListIterator<E> listIterator(int index)：返回 Vector 的 ListIterator，从指定位置 index 开始。
        //E remove(int index)：删除指定位置 index 的元素。
        //boolean remove(Object o)：删除指定元素。
        //boolean removeAll(Collection<?> c)：从 Vector 中删除所有包含在指定 Collection 中的元素。
        //boolean retainAll(Collection<?> c)：保留 Vector 中包含在指定 Collection 中的元素。
        //E set(int index, E element)：设置指定位置 index 的元素为 element。
        //int size()：返回 Vector 的大小。
        //List<E> subList(int fromIndex, int toIndex)：返回 Vector 的子列表。
        //Object[] toArray()：返回 Vector 的数组形式。
        //<T> T[] toArray(T[] a)：返回 Vector 的数组形式。

    }
}
